The amount of information that is electronically accessible is currently enormous, and is increasing daily. With so much available information, the difficulty often becomes how to find specific information, and how to navigate through that information once found.
For example, information is often presented in “views”, which may take the form of windows, screen displays, etc. Frequently, the quantity of available information is such that attempting to put all of the information in a single view is impractical. For example, it would be extremely cumbersome to navigate through a phone book that was presented in a single, enormous, scrollable window. The problem of navigation is exacerbated for users of client devices with relatively-small displays, such as typical mobile devices and tablets.
One technique that has been used to facilitate navigation among views that are organized in a hierarchical relationship. ‘Bread Crumbing’ is a technique used to help navigate through a hierarchy of data. That is, bread crumbing involves keeping track of the location of the current view, within a hierarchy of views, and displaying to the user the names of the views that are above the “current view” in the hierarchy. The views that are above the current view in the hierarchy are referred to herein as the “ancestor views” of the current view. The visual presentation of the names of the ancestor views is referred to herein as the “bread-crumb display”.
For example, consider the folder hierarchy illustrated in FIG. 1. File systems typically have a mechanism to allow users to start at a view that corresponds to the root of the hierarchy (e.g. the “computer” node in FIG. 1), and to traverse down the file hierarchy by navigating from parent folder to child folder. As a user navigates from a parent folder to a child folder, the breadcrumb display is updated. FIGS. 2A to 2E illustrate how a typical bread-crumb display appears as the user navigates from the computer node to Folder8 in the hierarchy illustrated in FIG. 2.
Specifically, in FIG. 2A, the current view is the view of Folder2, and the bread-crumb display has the labels “Computer”, “Local Disk (C:)” and “Folder2”, in that order. As the user navigates down one level from Folder2 to Folder3, the bread-crumb display is updated to include the label “Folder3” after “Folder2”, as illustrated in FIG. 2B. As the user navigates down one level from Folder3 to Folder5, the bread-crumb display is updated to include the label “Folder5” after “Folder3”, as illustrated in FIG. 2C. As the user navigates down one level from Folder5 to Folder6, the bread-crumb display is updated to include the label “Folder6” after “Folder5”, as illustrated in FIG. 2D. Finally, as the user navigates down one level from Folder6 to Folder8, the bread-crumb display is updated to include the label “Folder8” after “Folder6”, as illustrated in FIG. 2E.
As is illustrated in FIGS. 2D and 2E, there may be insufficient space to include the labels of all of the ancestor views in the region that is allocated for the bread-crumb display. Specifically, to make room for the label “Folder6”, the label “Computer” has shifted out of the bread-crumb display in FIG. 2D. Similarly, to make room for the label “Folder8”, the label “Local Disk (C:)” has shifted out of the bread-crumb display in FIG. 2E. When labels have shifted out of the bread-crumb display, a “missing labels” control (illustrated as “<<” in FIGS. 2D and 2E) may be provided. Activation of the missing labels control causes a pop-up window to be displayed, where the pop-up window lists the labels that have scrolled out of the bread-crumb display due to insufficient room.
In the example illustrated in FIGS. 2A-2E, the labels for a relatively large number of hierarchical levels are able to fit in the bread-crumb display because the bread-crumb display is large and the labels are relatively short. However, when relatively small displays, such as those found on most mobile devices, are involved, and/or when the labels are relatively long, the bread-crumb display may accommodate very few labels. Consequently, it is more likely that a user will lose a sense of where the current view resides within the view hierarchy. For example, the bread-crumb display in FIG. 2E conveys nothing about the level of the current folder (“folder 8”) other than that the current folder is at least at five levels deep. Thus, based on the bread-crumb display in FIG. 2E the user would not know whether the current folder is seven levels deep in the view hierarchy, or twenty levels deep in the view hierarchy.
In light of the foregoing, it is clearly desirable to provide an improved bread-crumb display to facilitate navigation though a hierarchy of views. It is particularly important to facilitate navigation on devices, such as mobile devices, that cannot accommodate large bread-crumb displays.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.